A database is a collection of information or data that one can organize, update, display, and manipulate (e.g., sorting, summing, etc.). Information in a database can be organized in tables, each table comprising one or more records, each record comprising one or more fields, and each field comprising a piece of information (a value). A database can consist of one file with one table, several files, each file containing one or more tables, or several files, each file containing one part of a table.
As an example, an online retailer's database can include separate tables for client information, inventory information, sales information, and so on. In the “Clients” table, a record can be created for each client, and each client record can contain fields such as “Client ID,” “Name,” “Address,” “Phone Number,” “Client Type,” and so on. In the “Inventory” table, a record can be created for each product in the inventory, and each inventory record can contain fields such a “Product ID,” “Description,” “Unit Price,” “Quantity,” and so on. In the “Sales” table, a sales record can be created for each sales transaction, and each sales record can contain fields such as “Date of Transaction,” “Product Sold,” “Quantity Sold,” “Client ID,” “Payment Method,” “Shipping Information,” and so on.
Tables in a database can be related by one or more relationships, where each relationship can be specified by one or more matching criteria. A database comprising related tables is called a relational database. The set of relationships in a relational database can be built in a Relational Database Management System (RDBMS). A relational database can comprise one or more sets of related tables. For example, in an online retailer's database, one set of related tables can store information related to the sales department, another set of related tables can store information related to the human resources department, another set of related tables can store information related to the legal department, and so on.
Examples of RDBMSs include: Oracle®, Microsoft® SQL Server, MySQL® and FileMaker® Pro. FileMaker® Pro is a cross-platform database application that integrates a database engine with a graphical user interface for allowing users to manage a relational database by adding and deleting fields, records, and tables, create relationships between tables, and design layouts, screens and forms for presenting the data stored various tables and fields.
In a user interface for managing a relational database, a user can search the database and retrieve a specific set of records by submitting a search query specifying a set of search criteria. In some implementations, a search query is expressed in the form of one or more concurrent or consecutive search requests combined to narrow or expand the set of found records. A search request can comprise one or more search criteria, and each search criterion can comprise a data field, an operator, and a data value. For example, a search criterion can be specified as “Client::Client ID >1000” which returns all records in a table called “Client” that have a field “Client ID” whose value is “greater than” “1000.”
Creation of complex search queries is difficult and tedious. A slight variation in the search criteria can produce a vastly different set of found records. Therefore, many database systems store previously submitted search queries and allow users to reuse them in a subsequent search in the same session or in a future session.
Although saved search requests sometimes help users to avoid recreating the same search queries, indiscriminate presentation of all saved search queries regardless of relevance can lead to confusion and inefficiency. For example, a user interested in searches related to sales does not benefit from having to sift through saved search queries that target data in tables only related to human resources information.